package com.atguigu.common.results;

import lombok.Getter;

//响应类状态码+状态码描述 的枚举类
@Getter
public enum ResultCodeEnum {
    SUCCESS(0,"success"),
    ERROR(-1 , "服务器内部错误"),
    //-1xx 服务器错误
    BAD_SQL_GRAMMAR_ERROR(-101, "sql语法错误"),
    SERVLET_ERROR(-102, "servlet请求异常"), //-2xx 参数校验
    UPLOAD_ERROR(-103, "文件上传错误"),
    FILE_DELETE_ERROR(-105, "文件删除失败"),
    EXPORT_DATA_ERROR(-104, "数据导出失败"),


    //-2xx 参数校验
    BORROW_AMOUNT_NULL_ERROR(-201, "借款额度不能为空"),
    MOBILE_NULL_ERROR(-202, "手机号码不能为空"),
    MOBILE_ERROR(-203, "手机号码不正确"),
    PASSWORD_NULL_ERROR(-204, "密码不能为空"),
    CODE_NULL_ERROR(-205, "验证码不能为空"),
    CODE_ERROR(-206, "验证码错误"),
    MOBILE_EXIST_ERROR(-207, "手机号已被注册"),
    LOGIN_MOBILE_ERROR(-208, "用户不存在"),
    LOGIN_PASSWORD_ERROR(-209, "密码错误"),
    LOGIN_LOKED_ERROR(-210, "用户被锁定"),
    LOGIN_AUTH_ERROR(-211, "未登录"),


    USER_BIND_IDCARD_EXIST_ERROR(-301, "身份证号码已绑定"),
    USER_NO_BIND_ERROR(-302, "用户未绑定"),
    USER_NO_AMOUNT_ERROR(-303, "用户信息未审核"),
    USER_AMOUNT_LESS_ERROR(-304, "您的借款额度不足"),
//    INVEST_AMOUNT_LESS_ERROR(-309, "您的账户额度不足"),
    LEND_INVEST_ERROR(-305, "当前状态无法投标"),
    LEND_FULL_SCALE_ERROR(-306, "已满标，无法投标"),
    NOT_SUFFICIENT_FUNDS_ERROR(-307, "余额不足，请充值"),
    CHARGE_AMOUNT_LESS_ERROR(-308, "充值金额必须大于0元"),
    ACCOUNT_AMOUNT_LESS_ERROR(-309, "账户余额不足"),
    PAY_UNIFIEDORDER_ERROR(-401, "统一下单错误"),
    MAKE_LOAN_ERROR(-402, "放款失败"),

    ALIYUN_SMS_LIMIT_CONTROL_ERROR(-502, "短信发送过于频繁"),//业务限流
    ALIYUN_SMS_ERROR(-503, "短信发送失败"),//其他失败
    ALIYUN_SMS_NET_ERROR(-504, "短信服务器连接失败"),//其他失败
    ALIYUN_SMS_LIMIT_DAY_ERROR(-505, "短信发送异常"),

    WEIXIN_CALLBACK_PARAM_ERROR(-601, "回调参数不正确"),
    WEIXIN_FETCH_ACCESSTOKEN_ERROR(-602, "获取access_token失败"),
    WEIXIN_FETCH_USERINFO_ERROR(-603, "获取用户信息失败"),
    OBJECT_IS_NULL(-701 , "参数不能为空");
    private Integer code;
    private String message;
    private ResultCodeEnum(Integer code , String message){
        this.code = code;
        this.message = message;
    }
}
